Formal relationships in sequential object systems
نویسنده
چکیده
Formal Relationships in SequentialObject Systems Eric Kerfoot, St Catherine’s College D.Phil. Thesis, Trinity 2010 Formal specifications describe the behaviour of object-oriented systems precisely, with the intent to capture all properties necessary for correctness. Relationships between objects, and in a broader sense the relationship between whole components, may not be adequately captured by specifications. One critical component of specifications having a role in relationships are invariants which define a constraint between multiple objects. If an object’s invariant relies on external objects for its conditions, correct operations which abide by their specifications modifying these external objects may violate the constraint. Such an invariant defines a relationship between multiple objects which is unsound since it does not adequately describe the responsibilities which the objects in the relationship have to each other. The root cause of this correctness loophole is the failure of specifications to capture such relationships adequately in addition to their correctness requirements. This thesis addresses this shortcoming in a number of ways, both for individual objects in a sequential environment, and between concurrent components which are defined as specialized object types. The proposed Colleague Technique [68] defines sound invariants between two object types using classical Design-by-Contract [89] methodologies. Additional invariant conditions introduced through the technique ensure that no correct operation may produce a post-state which does not satisfy all invariants satisfied by the pre-state. Relationships between objects, as well as their correct specification and management, are the subjects of this thesis. Those relationships between objects which can be described by invariants are made sound with the Colleague Technique, or the lightweight ownership type system that accompanies it. Behavioural correctness beyond these can be addressed with specifications in a similar manner to sequential systems without concurrency, in particular with the use of runtime assertion checking [29].
منابع مشابه
Modeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کاملModeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کاملFormal Properties of the Eiiel// Model
Featuring a small set of concepts (e.g. systematic asynchronous communications , polymorphism between passive and active objects, wait-by-necessity) the Eiiel// model allows for the derivation of parallel systems from sequential ones. Based on a formal semantics of that model, this article expresses and formally proves language properties such as the absence of shared objects, the sequentiality...
متن کاملFormal Object Interaction Language: Modeling and Verification of Sequential and Concurrent Object-Oriented Software
As software systems become larger and more complex, developers require the ability to model abstract concepts while ensuring consistency across the entire project. The internet has changed the nature of software by increasing the desire for software deployment across multiple distributed platforms. Finally, increased dependence on technology requires assurance that designed software will perfor...
متن کاملSoftware Development with Object-Z, CSP, and Java: A Pragmatic Link from Formal Specifications to Programs
Object-Z and CSP are high level specification languages which offer powerful formal support for the design of distributed, communicating systems. Java is an ideal implementation language for such systems. But developing provably correct Java implementations from these specifications is notoriously difficult. To bridge this gap we suggest to use Jass, which extends Java with assertions, as an in...
متن کامل